package com.bw.session.service;

import com.bw.session.domain.Equipment;
import com.bw.session.domain.Scheduled;
import com.bw.session.domain.dto.SessionDTO;
import com.bw.session.domain.vo.BuildingsVO;
import com.bw.session.domain.vo.RegionVO;
import com.bw.session.domain.vo.SessionVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface SessionService {

    /**
     * 会议室列表
     */
    List<SessionVO> getSessionAll(String sessionName);

    /**
     * 新增会议室
     */
    void insertSession(SessionDTO sessionDTO);

    /**
     * 获取所有区域信息
     */
    List<BuildingsVO> selectBuildingsInfo();

    /**
     * 获取每个区域下的楼栋信息
     */
    List<RegionVO> selectRegionByBuildingsId(Long buildingsId);

    /**
     * 查询所有的设备
     */
    List<Equipment> selectAllEquipment();

    /**
     * 回显
     */
    SessionVO selectSessionById(Long id);

    /**
     * 修改
     */
    void update(SessionDTO sessionDTO);

    /**
     * 根据地区分页查询会议室预约情况
     * @param sessionVO
     * @return
     */
    PageInfo<SessionVO> selectSessionByBuildingsId(SessionVO sessionVO);

    /**
     * 查看当前会议室的预约信息和情况，自己的会议预约记录可以有取消按钮
     * @return
     */
    List<Scheduled> selectScheduledInfo(Scheduled scheduled);

}
